package com.neouton.crm.managerPayRecord.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.crm.entity.SysUserEntity;
import com.neouton.crm.managerPayRecord.entity.ManagerPayRecord;
import com.neouton.crm.managerPayRequest.entity.ManagerPayRequest;
import com.neouton.crm.payRecords.entity.PaymentRecords;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
public interface ManagerPayRecordMapper {

    IPage<ManagerPayRecord> queryManagerPaymentRecordsList(@Param("page")IPage<ManagerPayRecord> page, @Param("entity")ManagerPayRecord managerPayRecord, @Param("userList") List<SysUserEntity> userList);

    List<ManagerPayRecord> queryManagerPayRecordedMoney(@Param("vo")ManagerPayRecord entity);

    List<ManagerPayRecord> queryHistoryPayRecordedMoney(@Param("vo")ManagerPayRecord entity);

    boolean saveManagerPaymentRecords(@Param("vo")ManagerPayRecord entity);

    ManagerPayRecord queryManagerPayRecordInfoById(@Param("payRecordsId")Integer payRecordsId);

    void backUpManagerPaymentRecord(@Param("payRecordsId")Integer payRecordsId, @Param("backUserId")Integer userId);

    void updateManagerPaymentRecordsById(@Param("vo")ManagerPayRecord entity);

    ManagerPayRecord queryManagerPayRecordHistory(Integer approvalId);

    List<ManagerPayRecord> queryPaymentRecordsListInfo(@Param("entity")ManagerPayRecord paymentRecords, @Param("userList")List<SysUserEntity> userList);

    List<ManagerPayRecord> getPayRecords();

    Boolean deletePayRecordsById(Integer payRecordsId);
}
